package ma.techit.pfe.agence.voyage.dao.implementation;
import java.util.List;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;

import ma.techit.pfe.agence.voyage.dao.interfaces.ContactFournisseurDaoIn;
import ma.techit.pfe.agence.voyage.model.Consommateur;
import ma.techit.pfe.agence.voyage.model.ContactFournisseur;
import ma.techit.pfe.agence.voyage.util.SessionFactoryHelper;

@Repository
public class ContactFournisseurDao extends SessionFactoryHelper implements ContactFournisseurDaoIn {

	public void save(ContactFournisseur contact) {
		// TODO Auto-generated method stub
		getCurrentSession().save(contact);
		
	}

	public void update(ContactFournisseur contact) {
		// TODO Auto-generated method stub
		getCurrentSession().update(contact);
		
	}

	public void delete(Long id) {
		// TODO Auto-generated method stub
		getCurrentSession().delete(findByID(id));
	}

	public ContactFournisseur findByID(Long id) {
		// TODO Auto-generated method stub
		return (ContactFournisseur) getCurrentSession()
				.createQuery("from ContactFournisseur  where id = " + id).list()
				.get(0);
	}

	public List<ContactFournisseur> findAll() {
		// TODO Auto-generated method stub
		return  getCurrentSession()
				.createQuery("from Utilisateur ").list()
				;
	}

	public ContactFournisseur authenticate(String login, String password) {
		// TODO Auto-generated method stub
		List fetchedUsers = getCurrentSession().createQuery(
				"from Consommateur where login ='" + login + "' and password ='"
						+ password + "'").list();
		return fetchedUsers.isEmpty() ? null : (ContactFournisseur) fetchedUsers.get(0);
	}


	}
